print("----------------切片--------------")
# 列表的切片
list1 = [1, 2, 3, 4, 5]
print(list1[0:-1:2])

# 这里最后一个-1表示按照从右到左的方向取，但是要注意前面两个参数如果从0开始则只能取到第一个值0
print(list1[-1::-1])

# 将元组转换为列表
tup = ("a", "b", "c")
list(tup)

print("----------------增删改--------------")
# 在指定索引位置插入数据 [1, 'a', 2, 3, 4, 5]
list1.insert(1,"a")
print(list1)

# 移除列表中的元素，默认移除最后一个元素
list1.pop()
print(list1)
list1.pop(1)
print(list1)

# 移除第一个匹配的元素
list1.remove(1)
print(list1)

# 反转列表元素 注意只是对元素的顺序进行反转，不会对元素本身进行修改
list2 = ["hihaoa", "zhangsan", "hello"]
list2.reverse()
print(list2)

print("----------------排序--------------")
# key: 排序关键字，key接受的是一个只有一个形参的函数，key接受的函数返回值，表示此元素的权值，sort将按照权值大小进行排序
# reverse: 升序（False）或者降序（True）
# 调用成员函数进行排序(默认为升序：reversr=False)，返回值为‘none’,按照内部魔术方法排序
# list2.sort()
# 这里的key是一个计算字符串长度的函数
list2.sort(key =len, reverse=False)
print(list2)

# key: 排序关键字，同sort
# reverse: 升序（False）或者降序（True）
# 但不影响数据本身, 返回值为排序后的列表
sorted(list2, key =len, reverse=False)

list3 = [1, 2, 3, 4, 5]
del list3[1]
print(list3[-2])

# 集合转列表
set1 = {1, 2, 3, 4, 5}
list(set1)
print(set1)


